// 做饭
function cook() {
    return new Promise((resolve, reject) => {
        console.log('邓哥打开了电饭煲');
        setTimeout(() => {
            if (Math.random() < 0.5) {
                resolve('饭已ok');
            } else {
                reject('做饭却忘了加水，米饭变成了爆米花');
            }
        }, 2000);
    });
}

// 洗衣服
function wash() {
    return new Promise((resolve, reject) => {
        console.log('邓哥打开了洗衣机');
        setTimeout(() => {
            if (Math.random() < 0.5) {
                resolve('衣服已经洗好');
            } else {
                reject('洗衣服时停水了，洗了个寂寞');
            }
        }, 2500);
    });
}

// 打扫卫生
function sweep() {
    return new Promise((resolve, reject) => {
        console.log('邓哥打开了扫地机器人');
        setTimeout(() => {
            if (Math.random() < 0.5) {
                resolve('地板扫的非常干净');
            } else {
                reject('扫地机器人被哈士奇一爪掀翻了');
            }
        }, 3000);
    });
}



// 需要对结果汇总
Promise.allSettled([cook(), wash(), sweep()]).then((result) => {
    //处理汇总结果
    console.log(result);
    const report = result.map((res) => res.status === 'rejected' ? res.reason : res.value).join(';')
    console.log(report);  
})